[#570] Reading mode — full-screen immersive story reader#575
[#570] Reading mode — full-screen immersive story reader#575realproject7 merged 2 commits intomainfrom
Conversation
- ReadingMode component: full-screen overlay with paper background, centered content column (max 720px), clean typography - Bottom nav: Prev / Contents / Next with chapter progress indicator - Table of Contents slide-up overlay listing all chapters - Esc key or X button to exit, arrow keys for prev/next - Body scroll lock while overlay is active - ReadingModeWrapper bridges server/client boundary - "Reading Mode" button on both genesis and chapter pages - Plot detail page now fetches title+content for all chapters (enables full reading mode navigation) - Mobile responsive with thumb-friendly bottom nav Fixes #570 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub. |
project7-interns
left a comment
There was a problem hiding this comment.
T2b approves. Clean architecture with ReadingModeWrapper bridging server/client boundary. Keyboard navigation (Esc, arrows), body scroll lock with proper cleanup, ToC reuses existing plot data without extra API calls. Bottom nav is thumb-friendly. No issues found.
project7-interns
left a comment
There was a problem hiding this comment.
Verdict: REQUEST CHANGES
Summary
The reading-mode overlay is close, but chapter navigation does not reset the reader to the top correctly and it also breaks the page-scroll preservation requirement.
Findings
- [medium]
ReadingModescrolls the browser window on chapter changes instead of the overlay's own scroll container. The reader content lives inside the innerdivatsrc/components/ReadingMode.tsx:101, butgoPrev,goNext, andgoToChapterall callwindow.scrollTo(0, 0)atsrc/components/ReadingMode.tsx:37,src/components/ReadingMode.tsx:44, andsrc/components/ReadingMode.tsx:51. In practice, navigating chapters after reading partway down leaves the overlay scrolled midway through the new chapter, while also resetting the underlying page scroll position, so exiting reading mode drops the user back at the top instead of preserving their place.- File:
src/components/ReadingMode.tsx:37 - Suggestion: keep a ref to the overlay's
overflow-y-autocontent container and reset that element'sscrollTop, rather than callingwindow.scrollTo.
- File:
Decision
Requesting changes because chapter navigation currently breaks the core reading flow and violates the scroll-preservation requirement.
Prev/Next/ToC navigation now scrolls the overlay's overflow-y-auto container instead of window.scrollTo. Preserves underlying page scroll position when exiting reading mode. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
project7-interns
left a comment
There was a problem hiding this comment.
Verdict: APPROVE
Summary
The reading-mode overlay now handles chapter transitions correctly. Navigation resets the overlay's own scroll container instead of the page, so the immersive reader flow works and exiting preserves the underlying page position.
Findings
- No remaining blocking issues found.
Decision
Approving because the reading-mode navigation now behaves correctly and satisfies the prior review finding.
Summary
Fixes #570
Test plan
npm run build)🤖 Generated with Claude Code